/*
Layer.hpp
---------

Par Bréhaut Vincent le 03/03/2011

Rôle: Gérer les couches dans la GUI
*/

#ifndef DEF_GUILAYER
#define DEF_GUILAYER

#include <iostream>
#include <SFML/Graphics.hpp>
#include "Widget.hpp"
#include "../Engine.hpp"

namespace GUI
{
    class Layer : public Widget
    {
        public:
            Layer(Engine &Moteur);

            void SetWidget(Widget *widget);
            void SetFocus(const int i);
            virtual void OpenWidget(Widget *widget); // On a ouvert un widget (fenêtre)
            virtual void CloseWidget(Widget *widget); // On a fermer un widget (fenêtre)

            virtual void UpdateEvent();
            virtual void Afficher();
        protected:
            std::vector<Widget*> m_widgets; // Les objets que comporte le layer
    };
}

#endif
